package com.wy.service.sys;

import com.wy.model.sys.UserEntity;

import java.util.List;

public interface UserService {
	public void insert(UserEntity userEntity);

	public void del(UserEntity userEntity);

	/**
	 * 通过登录名得到用户信息
	 * @param loginName
	 * @return
	 */
	public UserEntity getUserEntityByLoginName(String loginName);

	/**
	 * 获取user列表
	 * @param loginName
	 * @param pageSize
	 * @param start
	 * @return
	 */
	public List<UserEntity> usersList(String loginName, int pageSize, int start);

	/**
	 * 获取user列表的总量
	 * @param loginName
	 * @param pageSize
	 * @param start
	 * @return
	 */
	public Integer usersSize(String loginName, int pageSize, int start);

	/**
	 * 新建用户信息
	 * @param userEntity
	 */
	public Integer insertUser(UserEntity userEntity);

	/**
	 * 手机端注册用户，网页添加住户信息关联添加用户
	 * @param loginName
	 * @param password
	 */
	public void insertUser(String loginName,String password);

	/**
	 * 更新用户信息
	 * @param userEntity
	 */
	public void updateUser(UserEntity userEntity);

	/**
	 * 删除用户信息
	 * @param groupId
	 */
	public void deleteUsers(List<String> groupId);

	/**
	 * 根据用户id查询用户
	 * @param userId
	 * @return
	 */
	public UserEntity getUserById(Integer userId);

	/**
	 * 根据手机号码查询用户
	 * @param mobile
	 * @return
	 */
	public UserEntity getUserByMobile(String mobile);

	/**
	 * 根据用户名查询用户
	 * @param loginName
	 * @return
	 */
	public UserEntity getUserByLoginName(String loginName);

	/**
	 * 根据loginname获取id
	 */
	public Integer getUesrIdByLoginName(String loginName);

	/**
	 * 修改密码时验证密码的合法性
	 * @param newPassword
	 * @param oldPassword
	 * @return
	 */
	public int modifyPasswordValidate(String newPassword,String oldPassword,String loginName);

	/**
	 * 手机端注册
	 */
	public String register(String loginName,String password,Integer houseId);

	/**
	 * 获取小区维修人员列表
	 * @param residenceId
	 * @return
	 */
	public List<UserEntity> getMaintenanceList(Integer residenceId);
}
